package eiisan.service.user;

import eiisan.dao.result.user.UserDetail;
import eiisan.util.model.response.Result;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import java.util.List;

/**
 * 权限信息服务
 * @author gragonfly
 * @date 2019/7/6
 **/
public interface AuthorityService {

    /**
     * 根据用户ID查询用户基本信息
     */
    Result<UserDetail> getUserDetail(Long userId);

    /**
     * 根据用户名获取用户基本信息
     */
    Result<UserDetail> getUserDetailByUsername(@NotBlank String userName);

    /**
     * 根据用户名批量获取用户基本信息
     */
    public Result getUserDetailByNames(@NotEmpty List<String> userNames, boolean includeFobiddens);
}
